import { markRaw } from 'vue';

const resultComps = {};
const excludeComponents = [];

// 动态导入子目录中的 index.vue 文件
const requireComponent = import.meta.glob('./*/index.vue', { eager: true });

Object.keys(requireComponent).forEach((filePath) => {
    // 提取目录名作为组件名
    const componentName = filePath.match(/^\.\/(.*?)\/index\.vue$/)?.[1];
    if (!componentName || excludeComponents.includes(componentName)) return;

    // 添加组件到 resultComps
    resultComps[componentName] = requireComponent[filePath].default;
});

// 标记为非响应式
export default markRaw(resultComps);
